Versions:

  • 3.0.0
  • 1.0.0

PrSM Language, published by PrSM Contributors and currently at version 3.0.0 with two released versions, is a Unity-first scripting language toolkit whose name stands for Pragmatic Reduced Syntax for Metascript. Its purpose is to let developers write scripts in .prsm files that compile to readable C#, providing a reduced-syntax layer suited to Unity game development workflows. As a scripting language and compiler toolchain, it falls within the programming language and game development tooling category, targeting developers who want terser syntax while retaining C# output. The language offers syntax sugar for a wide range of common Unity and general programming constructs, including components, coroutines, event listeners, input handling, interfaces, generics, singletons, object pooling, pattern matching, async/await, state machines, and reactive bindings. These features address typical use cases such as defining gameplay behaviors, handling player input, managing asynchronous operations, structuring state-driven logic, and wiring reactive data flows within Unity projects. The Language 5 feature set extends the toolkit further with general yield, attribute targets, preprocessor directives, ref, out, and vararg parameters, nameof, advanced patterns covering relational, combinator, positional, and property forms, with expressions, ref locals, partial declarations, and a DAP debugger adapter for debugging support. Tooling is distributed through a VS Code extension and a Unity Editor package, enabling integration both within the Unity Editor environment and within a general-purpose code editor. This combination of a compile-to-C# language, comprehensive syntax sugar for engine-specific and general-purpose patterns, advanced language features, debugger support, and editor integrations positions PrSM Language as a toolkit for developers seeking a pragmatic, reduced-syntax approach to writing Unity scripts while still producing standard, readable C# code that can be inspected, maintained, and incorporated into existing Unity project structures.

Tags: